Hallo,
ich möchte aus Excel Daten in eine Word Dokumentenvorlage in bestimmte Textmarken überdragen und Drucken. Jede Zeile soll dabei ist ein Druckvorgang und anschließend soll die nächste Zeile gedruckt werden.
Habe auch schon mal ein Code generiert:
Sub druck()
Dim intRow As Integer, intLastRow As Integer
Dim ASH As Worksheet, gesamt As Worksheet, unbetrachtet As Worksheet
Dim x As Long, y As Long, lngZeilen As Long
Dim V1, V2, V3, V4
Dim appWord As Object
Dim docTest As Object
Set appWord = CreateObject("Word.Application")
Set docTest = appWord.Documents.Add("C:\Dokumente und Einstellungen\\Desktop\druck.dot")
appWord.Visible = True
'Zuweisung der Tabellen zu den Variablen
With ThisWorkbook
Set ASH = .ActiveSheet
Set gesamt = .Worksheets("liste")
End With
'hier wird die länge der Quelltabelle ermittelt und in die Zieltabelle eingef?gt
lngZeilen = gesamt.Cells(gesamt.Rows.Count, 1).End(xlUp).Row
'Schleife die die Quelltabelle durchsucht und bei bestimmter Bedingung wird die Aktion copy-paste gestartet
For y = 2 To lngZeilen
'Bedingungen
With gesamt
V1 = .Cells(y, 1).Value
V2 = .Cells(y, 2).Value
V3 = .Cells(y, 3).Value
V4 = .Cells(y, 4).Value
End With
If V1 <> "" And V2 <> "" And V3 <> "" And V4 <> "" Then
docTest.Activate
docTest.Bookmarks("kennzeichen").Range.Text = V1
docTest.Bookmarks("name").Range.Text = V2
docTest.Bookmarks("datum").Range.Text = V3
docTest.Bookmarks("uhrzeit").Range.Text = V4
docTest.PrintOut
docTest.Close
appWord.Quit
Set docTest = Nothing
Set appWord = Nothing
End If
Next y
End Sub
1. Problem: Es wird nur die erste Zeile in Excel nach Word übernommen und gedruckt, dann hört das Makro auf (muss ich ne andere Schleife verwenden bsp. do-until?)
2. Problem: Ich werde am ende immer gefragt ob ich die Worddatei speichern möchte (will ich aber nicht und daher suche ich eine Möglichkeit diese Abfrage zu umgehen :)..)
Würde mich über Unterstützung sehr freuen!
Gruß Nyan
|